#####################################################################################
# Dependency computation
#############################

$(MYUTILS_BASEDIR)/dep/%.d: $(MYUTILS_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(MYUTILS_BASEDIR)/module.mk $(MYUTILS_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	$(BASEDIR)/scripts/depend.sh `dirname $@`/debug $(MYUTILS_INCFLAGS) $< >$@
	$(BASEDIR)/scripts/depend.sh `dirname $@`/release $(MYUTILS_INCFLAGS) $< >>$@

$(MYUTILS_BASEDIR)/dep/%.d: $(MYUTILS_BASEDIR)/src/%.c $(BASEDIR)/Makefile $(MYUTILS_BASEDIR)/module.mk $(MYUTILS_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	$(BASEDIR)/scripts/depend.sh `dirname $@`/debug $(MYUTILS_INCFLAGS) $< >$@
	$(BASEDIR)/scripts/depend.sh `dirname $@`/release $(MYUTILS_INCFLAGS) $< >>$@

#####################################################################################
# Object compilation
#############################
$(MYUTILS_BASEDIR)/obj/debug/%.o: $(MYUTILS_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(MYUTILS_BASEDIR)/module.mk $(MYUTILS_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	$(MYUTILS_CC) -c $(MYUTILS_DEBUG_CFLAGS) $< -o $@

$(MYUTILS_BASEDIR)/obj/release/%.o: $(MYUTILS_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(MYUTILS_BASEDIR)/module.mk $(MYUTILS_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	$(MYUTILS_CC) -c $(MYUTILS_RELEASE_CFLAGS) $< -o $@


$(MYUTILS_BASEDIR)/obj/scrambled/%.o: $(MYUTILS_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(MYUTILS_BASEDIR)/module.mk $(MYUTILS_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	$(MYUTILS_CC) -c $(MYUTILS_SCRAMBLED_CFLAGS) $< -o $@

$(MYUTILS_BASEDIR)/obj/debug/%.o: $(MYUTILS_BASEDIR)/src/%.c $(BASEDIR)/Makefile $(MYUTILS_BASEDIR)/module.mk $(MYUTILS_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	$(MYUTILS_CC) -c $(MYUTILS_DEBUG_CFLAGS) $< -o $@

$(MYUTILS_BASEDIR)/obj/release/%.o: $(MYUTILS_BASEDIR)/src/%.c $(BASEDIR)/Makefile $(MYUTILS_BASEDIR)/module.mk $(MYUTILS_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	$(MYUTILS_CC) -c $(MYUTILS_RELEASE_CFLAGS) $< -o $@

$(MYUTILS_BASEDIR)/obj/scrambled/%.o: $(MYUTILS_BASEDIR)/src/%.c $(BASEDIR)/Makefile $(MYUTILS_BASEDIR)/module.mk $(MYUTILS_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	$(MYUTILS_CC) -c $(MYUTILS_SCRAMBLED_CFLAGS) $< -o $@

$(DEBUG_MYUTILS_ARCHIVE): $(MYUTILS_DEBUG_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating archive $@"
	@echo "#########"
	ar -rcv $@ $^ 

$(RELEASE_MYUTILS_ARCHIVE): $(MYUTILS_RELEASE_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating archive $@"
	@echo "#########"
	ar -rcv $@ $^ 

$(SCRAMBLED_MYUTILS_ARCHIVE): $(MYUTILS_SCRAMBLED_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating archive $@"
	@echo "#########"
	ar -rcv $@ $^ 
